草庐IT

Python GTK+ 部件名称

全部标签

c++ - 为什么这个 c++ 有效? (具有相同名称的变量)

好吧,我想知道为什么这段代码有效,我刚刚意识到我在同一范围内有两个同名的变量。我正在使用g++(gcc4.4)。for(intk=0;k 最佳答案 内部for循环中的k隐藏(或隐藏)外部for循环中的k。您可以在不同范围内声明多个具有相同名称的变量。一个非常简单的例子如下:intmain(){inta;//'a'referstotheintuntilitisshadowedoritsblockends{floata;//'a'referstothefloatuntiltheendofthisblock}//'a'nowreferst

c++ - 在没有参数列表的情况下无效使用模板名称 ‘Matrix’

这是我的Matrix.cpp文件。(有一个单独的Matrix.h文件)#include#include#include"Matrix.h"usingnamespacestd;Matrix::Matrix(intr,intc,Tfill=1){if(r>maxLength||c>maxLength){cerr这给出了以下内容error:invaliduseoftemplate-name‘Matrix’withoutanargumentlist我的代码有什么问题?编辑:矩阵类定义为template编辑:这是我的Matrix.h文件:#include#include#definemaxLen

c++ - 获取 chrono 中时间类型的名称

假设我有一个时间测量类,可以像这样按持续时间类型进行参数化templatestructmeasure{/*implementation*/};我想要的是能够打印出TimeT。我倾向于实现这样的静态成员函数:staticstringTimeType()const;我的问题是:我应该添加一个成员吗?这不应该是静态的吗?它的主体应该如何实现?我应该使用依赖于实现的非编译时typeinfo/name组合(在这种情况下我必须删除constexpr上面)或者我应该选择创建几个特化来为每个时间类型返回正确的字符串?是否有更标准/惯用的方法来获取时间类型的名称? 最佳答案

c++ - 编译器如何区分 C++ 中不同类中具有相同名称的静态数据成员?

我最近接受了一次C++面试,有人问我,编译器如何区分两个不同类中具有相同名称的静态数据成员?由于所有静态数据变量都存储在数据段中,因此编译器必须有一种方法来跟踪哪些静态数据属于哪个类,尤其是当它们具有相同的名称时。编辑:我回答了namemangling,他拒绝说namemangling只在同一个类(class)的成员之间使用。 最佳答案 名字与他们的类名混淆了。使用clang编译器的示例classA{staticinti;};intA::i=0;输出$clang++-cc1-emit-llvmmain1.cpp-o-;ModuleI

c++ - 用循环更改变量名称

有没有一种不使用数组的方法,用循环写出以下内容:cout这显然不是我需要做的,但对于同样的问题,这是我能想到的最简单的例子......所以我想做的是改变循环中的变量,而不是输出!编辑:非常感谢所有的输入,这里有更多的代码来帮助说明我的问题......我在C++中使用Cplex。循环不会在七点结束,而是在满足停止条件时结束staticvoidpopulatebyrow(IloModelmodel,IloNumVarArrayx,IloRangeArrayc){IloExprc1(env);IloExprc2(env);IloExprc3(env);IloExprc4(env);c.add

c++ - 成员名称和构造函数参数名称之间的冲突

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:MembersvsmethodargumentsaccessinC++我有一个包含一些成员的类,例如x、y、width和height。在它的构造函数中,我不会这样做:A::A(intx,inty,intwidth,intheight){x=x;y=y;width=width;height=height;}当使用g++x、y、width和height编译时,这真的没有意义>变成奇怪的值(例如-1405737648)。解决这些命名冲突的最佳方法是什么?

c++ - 如何更新项目中的所有 C/C++ 标识符名称

在经常遇到不要在C/C++标识符中使用前导和双下划线的建议后,我决定一劳永逸地修复所有源代码。我现在需要做的是将_Identifier转换为Identifier_。我应该使用专门的工具来完成正则表达式的任务吗?在后一种情况下,匹配C/C++标识符的模式是什么? 最佳答案 虽然我是经常指出带有前导下划线的名称可能被保留的人之一,但我强烈建议您不要这样做,除非您遇到由名称引起的问题。进行此全局更改将使您的版本控制系统的用处降低,否则会导致各种虚假差异。此外,还有可能创建重复的名称。此外,还有许多完全有效的下划线前缀名称。人们会立即想到_

c++ - 使用 auto 声明变量和使用类型名称有什么区别?

例如,我有一些类DataPacket。有什么区别:autopacket=DataPacket();和DataPacketpacket;? 最佳答案 先回答关于auto的问题,生成的代码没有区别:autopacket=DataPacket();和DataPacketpacket=DataPacket();但这不是你写的。在最初的问题中,第一个创建一个value-initialized临时对象,然后从中复制初始化packet。这需要一个可访问的、非显式的复制或移动构造函数,需要类型可以是默认构造的,并确保初始化packet(假设复制/移

c++ - 用于快速名称查找的容器

我想存储字符串并为每个字符串分配一个唯一的ID号(索引就可以)。我只需要每个字符串的一个拷贝,并且需要快速查找。我经常检查表中是否存在该字符串,以至于我注意到性能受到影响。最好的容器是什么?如果字符串存在,我该如何查找? 最佳答案 我建议使用tr1::unordered_map。它是作为HashMap实现的,因此它的查找复杂度为O(1),最坏情况为O(n)。如果您的编译器不支持tr1,还有一个提升实现。#include#include#includeusingnamespacestd;intmain(){tr1::unordered

django“名称:名称'专辑'未定义”

我正在尝试运行查看并操纵一个简单的Django数据库,但是DjangoShell的错误是说我的一个模型未定义。大多数与我的错误相似的问题都是由于人们在宣布模型之前先引用模型。但是,我没有参考任何其他模型专辑.模型from__future__importunicode_literalsfromdjango.dbimportmodelsclassAlbum(models.Model):artist=models.CharField(max_length=250)title=models.CharField(max_length=500)genre=models.CharField(max_leng